//
//package com.eltonkent.util.mail;
//
//import java.io.ByteArrayInputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.OutputStream;
//import java.security.Security;
//import java.util.Properties;
//
//import javax.activation.DataHandler;
//import javax.activation.DataSource;
//import javax.mail.Message;
//import javax.mail.PasswordAuthentication;
//import javax.mail.Session;
//import javax.mail.Transport;
//import javax.mail.internet.InternetAddress;
//import javax.mail.internet.MimeMessage;
//
//import com.eltonkent.util.mail.provider.JSSEProvider;
//
//public class GMailPostMan extends javax.mail.Authenticator
//{
//	public class ByteArrayDataSource implements DataSource
//	{
//		private byte[] data;
//		private String type;
//
//		public ByteArrayDataSource(byte[] data)
//		{
//			super();
//			this.data = data;
//		}
//
//		public ByteArrayDataSource(byte[] data, String type)
//		{
//			super();
//			this.data = data;
//			this.type = type;
//		}
//
//		public String getContentType()
//		{
//			if(type == null)
//				return "application/octet-stream";
//			else
//				return type;
//		}
//
//		public InputStream getInputStream() throws IOException
//		{
//			return new ByteArrayInputStream(data);
//		}
//
//		public String getName()
//		{
//			return "ByteArrayDataSource";
//		}
//
//		public OutputStream getOutputStream() throws IOException
//		{
//			throw new IOException("Not Supported");
//		}
//
//		public void setType(String type)
//		{
//			this.type = type;
//		}
//	}
//
//	private String mailhost = "smtp.gmail.com";
//	private String user = "eltonkent";
//	private String password = "javarocks";
//
//	private Session session;
//
//	static
//	{
//		Security.addProvider(new JSSEProvider());
//	}
//
//	public GMailPostMan(String user, String password)
//	{
//		this.user = user;
//		this.password = password;
//
//		Properties props = new Properties();
//		props.setProperty("mail.transport.protocol", "smtp");
//		props.setProperty("mail.host", mailhost);
//		props.put("mail.smtp.auth", "true");
//		props.put("mail.smtp.port", "465");
//		props.put("mail.smtp.socketFactory.port", "465");
//		props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
//		props.put("mail.smtp.socketFactory.fallback", "false");
//		props.setProperty("mail.smtp.quitwait", "false");
//
//		session = Session.getDefaultInstance(props, this);
//	}
//
//	protected PasswordAuthentication getPasswordAuthentication()
//	{
//		return new PasswordAuthentication(user, password);
//	}
//
//	public synchronized void sendMail(String subject, String body, String sender, String recipients)
//			throws Exception
//	{
//		try
//		{
//			MimeMessage message = new MimeMessage(session);
//			DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));
//			message.setSender(new InternetAddress(sender));
//			message.setSubject(subject);
//			message.setDataHandler(handler);
//			if(recipients.indexOf(',') > 0)
//				message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));
//			else
//				message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));
//			Transport.send(message);
//		} catch(Exception e)
//		{
//
//		}
//	}
// }
